package com.duzq.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 值集转换注解
 *
 * 使用该注解的Bean对象需要继承 com.duzq.common.entity.BaseEntity
 * @author duzq
 * @date 2021-03-24 14:51:45
 */
// @Target，注解应用的范围（注解可以写到什么地方）
// ElementType.FIELD，应用与属性上（Java Bean的字段，例如：private String name;）
@Target(ElementType.FIELD)
// @Retention，注解的生命周期（什么时候有效）
// RetentionPolicy.RUNTIME，代码编译后可以看到，class文件在JVM中的时候也可以被看到
@Retention(RetentionPolicy.RUNTIME)
public @interface EnumValue {

    /**
     * 枚举
     */
    String enumType() default "";

    /**
     * 将转换后的值赋值到哪个变量上面
     * 不传入值，使用添加了该注解的字段后面拼接 xxxName
     */
    String targetField() default "";
}
